CI/CD என்றால் என்ன?
CI/CD என்பது Continuous Integration and Continuous Deployment/Delivery என்பதன் சுருக்கமாகும்.
நீங்கள் push செய்யும் ஒவ்வொரு முறையும் உங்கள் குறியீடு தானாகவே சோதிக்கப்பட்டு வெளியிடப்படும் என்று பொருள்.
இது பிழைகளை விரைவில் கண்டறியவும், குறைவான கைமுறை வேலையுடன் அம்சங்களை விரைவாக வழங்கவும் உதவுகிறது.
ஏன் CI/CD பயன்படுத்த வேண்டும்?
CI/CD உங்கள் குறியீட்டை சோதித்து வெளியிடும் செயல்முறையை தானியங்கி செய்கிறது. இதன் பொருள்:
- பயனர்களை அடையும் முன் பிழைகளைக் கண்டறியவும்
- மாற்றங்களை விரைவாகவும் பாதுகாப்பாகவும் வெளியிடவும்
- கைமுறை படிகள் மற்றும் தவறுகளைக் குறைக்கவும்
- ஒவ்வொரு push-இல் விரைவான கருத்தைப் பெறவும்
CI/CD எவ்வாறு Git-உடன் செயல்படுகிறது?
உங்கள் Git களஞ்சியத்திற்கு குறியீட்டை push செய்யும் ஒவ்வொரு முறையும்:
- CI/CD சேவை (GitHub Actions அல்லது GitLab CI போன்றவை) மாற்றத்தைக் கண்டறியும்
- இது சோதனைகளை இயக்கும், உங்கள் திட்டத்தை உருவாக்கும் மற்றும் தானாகவே வெளியிட முடியும்
- ஏதாவது தோல்வியடைந்தால், நீங்கள் உடனடியாக அறிவிக்கப்படுவீர்கள்
எடுத்துக்காட்டு பணிப்பாய்வு
பணிப்பாய்வு வரைபடம்
[Developer] --push--> [Git Repository] --triggers--> [CI/CD Pipeline: Test, Build, Deploy]
பிரபலமான CI/CD சேவைகள்
GitHub Actions
GitHub-ல் கட்டமைக்கப்பட்டது, .github/workflows/ இல் YAML கோப்புகளைப் பயன்படுத்துகிறது
GitLab CI/CD
GitLab-ல் கட்டமைக்கப்பட்டது, .gitlab-ci.yml பயன்படுத்துகிறது
CircleCI
GitHub/GitLab-உடன் செயல்படுகிறது, பல மொழிகளுக்கு எளிதான அமைப்பு
Travis CI
திறந்த மூலத்திற்கு பிரபலமானது, .travis.yml பயன்படுத்துகிறது
முக்கிய CI/CD கருத்துகள்
சில முக்கியமான சொற்கள் இங்கே:
- பணிப்பாய்வு (Workflow): ஒன்றாக இயங்கும் தொடர் வேலைகள்
- வேலை (Job): ஒன்றாக இயங்கும் படிகளின் குழு
- படி (Step): ஒரு ஒற்றை பணி, குறியீட்டைப் பரிசோதித்தல் அல்லது சோதனைகளை இயக்குதல் போன்றவை
- இயக்குநர் (Runner): உங்கள் வேலைகளை இயக்கும் கணினி/சேவையகம்
- தூண்டுதல் (Trigger): உங்கள் பணிப்பாய்வு எப்போது இயங்கும் என முடிவு செய்கிறது
- சூழல் மாறிகள் (Environment Variables): உங்கள் பணிப்பாய்விற்கான அமைப்புகள்
- ரகசியங்கள் (Secrets): கடவுச்சொற்கள் அல்லது API விசைகள்
வேலைகள் (Jobs)
ஒரு வேலை என்பது ஒன்றாக இயங்கும் படிகளின் குழு. ஒவ்வொரு வேலையும் ஒரு இயக்குநரில் (ஒரு சேவையகம்) இயங்கும்.
எடுத்துக்காட்டு: GitHub Actions-ல் ஒரு வேலை
jobs:
build:
runs-on: ubuntu-latest
steps:
# படிகள் இங்கே செல்லும்
படிகள் (Steps)
ஒவ்வொரு படியும் ஒரு ஒற்றை பணியாகும், குறியீட்டைப் பரிசோதித்தல் அல்லது சோதனைகளை இயக்குதல் போன்றவை.
எடுத்துக்காட்டு: படிகள்
steps:
- uses: actions/checkout@v3
- name: Run tests
run: npm test
இயக்குநர்கள் (Runners)
ஒரு இயக்குநர் என்பது உங்கள் வேலைகளை இயக்கும் கணினி/சேவையகம்.
சேவையின் இயக்குநர்களைப் பயன்படுத்தலாம் அல்லது அதிக கட்டுப்பாட்டிற்கு உங்கள் சொந்தத்தை அமைக்கலாம்.
எடுத்துக்காட்டு: இயக்குநரைக் குறிப்பிடவும்
runs-on: ubuntu-latest
தூண்டுதல் (Triggers)
ஒரு தூண்டுதல் உங்கள் பணிப்பாய்வு எப்போது இயங்கும் என முடிவு செய்கிறது.
பொதுவான தூண்டுதல்கள் push (ஒவ்வொரு push) மற்றும் pull_request (ஒரு pull request திறக்கப்படும் அல்லது புதுப்பிக்கப்படும் போது) ஆகும்.
எடுத்துக்காட்டு: Push அல்லது Pull Request-ல் தூண்டவும்
on:
push:
pull_request:
சூழல் மாறிகள் & ரகசியங்கள்
அமைப்புகளுக்கு சூழல் மாறிகளைப் பயன்படுத்தவும், கடவுச்சொற்கள் அல்லது API விசைகளுக்கு ரகசியங்களைப் பயன்படுத்தவும்.
உங்கள் குறியீட்டில் ரகசியங்களை கடினமாக குறியிட வேண்டாம்!
எடுத்துக்காட்டு: ஒரு ரகசியத்தைப் பயன்படுத்தவும்
env:
NODE_ENV: production
API_KEY: ${{ secrets.API_KEY }}
கட்டுமான பதிவுகள்
CI/CD கருவிகள் ஒவ்வொரு வேலை மற்றும் படிக்கும் பதிவுகளைக் காட்டும். என்ன நடந்தது அல்லது தோல்விகளை பிழைத்திருத்த பதிவுகளைச் சரிபார்க்கவும்.
GitHub Actions-ல், ஒரு பணிப்பாய்வு இயக்கத்தைக் கிளிக் செய்து ஒவ்வொரு வேலை/படிக்கும் பதிவுகளைப் பார்க்கவும்.
CI-ஐ தவிர்க்கவும்
உங்கள் கமிட் செய்தியில் [skip ci] சேர்ப்பதன் மூலம் ஒரு கமிட்டிற்கு CI/CD-ஐ தவிர்க்கலாம்.
இது ஆவணம் அல்லது சிறிய மாற்றங்களுக்கு பயனுள்ளதாக இருக்கும்.
எடுத்துக்காட்டு: CI-ஐ தவிர்க்கவும்
git commit -m "Update docs [skip ci]"
பேட்ஜ்கள்
CI/CD நிலையைக் காட்ட உங்கள் README-க்கு ஒரு பேட்ஜைச் சேர்க்கவும்.
உங்கள் சமீபத்திய கட்டுமானம் தேர்ச்சி பெற்றதா என்பதை மற்றவர்கள் பார்க்க இது அனுமதிக்கிறது.
எடுத்துக்காட்டு: GitHub Actions பேட்ஜ்

எடுத்துக்காட்டு: GitHub Actions பணிப்பாய்வு கோப்பு (விளக்கப்பட்டது)
.github/workflows/ci.yml
# .github/workflows/ci.yml
# இந்த கோப்பு உங்கள் திட்டத்திற்கான CI-ஐ எவ்வாறு இயக்குவது என GitHub Actions-க்குச் சொல்லும்
name: CI # பணிப்பாய்வின் பெயர் (GitHub-ல் காட்டப்படும்)
on: [push] # தூண்டுதல்: ஒவ்வொரு push-இலும் இந்த பணிப்பாய்வை இயக்கவும்
jobs:
build: # வேலை பெயர் (எதுவும் இருக்கலாம்)
runs-on: ubuntu-latest # இயக்குநர்: சமீபத்திய Ubuntu சேவையகத்தைப் பயன்படுத்தவும்
steps:
- uses: actions/checkout@v3 # படி: களஞ்சியத்திலிருந்து உங்கள் குறியீட்டைப் பரிசோதிக்கவும்
- name: Run tests # படி: இந்த படிக்கு ஒரு பெயரைக் கொடுக்கவும்
run: npm test # படி: உங்கள் திட்டத்தின் சோதனைகளை இயக்கவும்
Jassif Team விளக்கம்
name: GitHub-ல் பணிப்பாய்வின் காட்சி பெயரை அமைக்கிறது.
on: பணிப்பாய்வு எப்போது இயங்கும் என முடிவு செய்கிறது (இங்கே: ஒவ்வொரு push).
jobs: ஒரு இயக்குநரில் இயங்கும் படிகளை ஒன்றாக இணைக்கிறது.
build: இந்த வேலையின் பெயர் (எதுவும் இருக்கலாம்).
runs-on: சேவையகத்தின் வகையைத் தேர்ந்தெடுக்கிறது (இங்கே: Ubuntu Linux).
steps: ஒவ்வொரு படியும் ஒரு விஷயத்தைச் செய்கிறது, குறியீட்டைப் பரிசோதித்தல் அல்லது சோதனைகளை இயக்குதல் போன்றவை.
uses: முன்-தயாரிக்கப்பட்ட GitHub Action-ஐப் பயன்படுத்துகிறது (இங்கே: உங்கள் குறியீட்டைப் பரிசோதிக்கிறது).
name: (steps-க்கு கீழ்) ஒரு படிக்கு ஒரு லேபிளைக் கொடுக்கிறது.
run: ஒரு ஷெல் கட்டளையை இயக்குகிறது (இங்கே: சோதனைகளை இயக்க npm test).
பழுது நீக்குதல் & சிறந்த நடைமுறைகள்
கட்டுமானம் தோல்வியடைந்தால்
பிழை செய்திகளுக்கு பதிவுகளைச் சரிபார்க்கவும்
ரகசியங்கள் மற்றும் சூழல் மாறிகள்
உங்கள் ரகசியங்கள் மற்றும் சூழல் மாறிகள் சரியாக அமைக்கப்பட்டுள்ளதா என்பதை உறுதிப்படுத்திக் கொள்ளுங்கள்
தோல்வியடைந்த வேலைகளை மீண்டும் இயக்கவும்
CI/CD டாஷ்போர்டில் இருந்து தோல்வியடைந்த வேலைகளை மீண்டும் இயக்கலாம்
ஆவணங்களைச் சரிபார்க்கவும்
மேலும் உதவிக்கு உங்கள் CI/CD சேவையின் ஆவணங்களைச் சரிபார்க்கவும்
Jassif Team சிறந்த நடைமுறைகள்
சிறியதாக தொடங்குங்கள்: முதலில் சோதனைகளை தானியங்கி செய்யுங்கள், தயாராக இருக்கும் போது வெளியீட்டைச் சேர்க்கவும்
ரகசியங்களை வெளியே வைக்கவும்: உங்கள் குறியீட்டில் ரகசியங்களை வைக்க வேண்டாம் மற்றும் API விசைகளை ஒருபோதும் commit செய்ய வேண்டாம்
பேட்ஜ்களைப் பயன்படுத்தவும்: README-ல் உங்கள் கட்டுமான நிலையைக் காட்ட பேட்ஜ்களைப் பயன்படுத்தவும்
முக்கியமான குறிப்பு
Jassif Team குறிப்பு
CI/CD பிழைகளை விரைவில் கண்டறியவும் மற்றும் விநியோகத்தை வேகப்படுத்தவும் உதவுகிறது. சிறிய திட்டங்கள் கூட தானியங்கி செயல்பாட்டிலிருந்து பயனடையும்!
தானியங்கி சோதனை மற்றும் வெளியீடு உங்கள் மென்பொருள் வளர்ச்சி செயல்முறையை மேம்படுத்தும் மற்றும் மன அழுத்தத்தைக் குறைக்கும்.
விரைவு குறிப்பு
தூண்டுதல்
பணிப்பாய்வைத் தொடங்கவும்
on: [push]
இயக்குநர்
சேவையகத்தைத் தேர்ந்தெடுக்கவும்
runs-on: ubuntu-latest
குறியீட்டைப் பரிசோதிக்கவும்
முதல் படி
uses: actions/checkout@v3
சோதனைகளை இயக்கவும்
அடிப்படை சோதனை
run: npm test